/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package managers;

/**
 *
 * @author Juan Jose
 */

import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.jsf.FacesContextUtils;

@ManagedBean
@SessionScoped

public class managerCrearPerfil implements Serializable {

     WebApplicationContext permisos = FacesContextUtils.getRequiredWebApplicationContext(FacesContext.getCurrentInstance());
     JdbcTemplate jdbcTemplate = (JdbcTemplate)permisos.getBean("jdbcTemplate");

     String nombrePerfil;

    public String getNombrePerfil() {
        return nombrePerfil;
    }

    public void setNombrePerfil(String nombrePerfil) {
        this.nombrePerfil = nombrePerfil;
    }

    public void add(){
       String sql="";
       Integer correcto=1;
       sql="INSERT INTO PERFIL VALUES (nextval('perfilseq'), upper('"+this.nombrePerfil+"'))";
       try{
        jdbcTemplate.execute(sql);
        }catch (DataAccessException e){
         System.out.println(e.getMessage());
         correcto = 0;
         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Este Perfil ya Existe", "Ingrese otro perfil"));
        }
       if(correcto==1)
       {
       FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Perfil Ingresado", " "));
       entrar("ROLE_PASO");
       }
       
    }

    public void addInfo(ActionEvent actionEvent){

    }

   public void entrar(String s) {
    String sql="";
    //System.out.println(this.perfilSeleccionado);
    sql="INSERT INTO PERFIL_AUTORIDAD VALUES (nextval('perfil_autoridadseq'),(select idperfil from perfil where nombreperfil = upper('"+this.nombrePerfil+"')),'"+s+"')";
    jdbcTemplate.execute(sql);
    }


   public void perfilcompleto(){
   add();
    }



}
